package com.ruoyi.quartz.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 访客预约信息对象 tb_visitor_user
 * 
 * @author ruoyi
 * @date 2024-04-10
 */
public class VisitorUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** openID */
    @Excel(name = "openID")
    private String openId;

    /** 姓名 */
    @Excel(name = "姓名")
    private String userName;

    /** 来访单位 */
    @Excel(name = "来访单位")
    private String companyFrom;

    /** 联系方式 */
    @Excel(name = "联系方式")
    private String phone;

    /** 身份证号码 */
    @Excel(name = "身份证号码")
    private String card;

    /** 身份证正面 */
    @Excel(name = "身份证正面")
    private String cardImg;

    /** 来访原由 */
    @Excel(name = "来访原由")
    private String visitReason;

    /** 到访单位 */
    @Excel(name = "到访单位")
    private String companyTo;

    /** 到访单位 */
    @Excel(name = "到访基地")
    private String visitingBase;

    /** 受访员工编号 */
    @Excel(name = "受访员工编号")
    private String interviewedNo;

    /** 受访员工姓名 */
    @Excel(name = "受访员工姓名")
    private String interviewedName;

    /** 客户大分类 */
    @Excel(name = "客户大分类")
    private String customersType;

    /** 保险 */
    @Excel(name = "保险")
    private String insurance;

    /** 劳动合同 */
    @Excel(name = "劳动合同")
    private String laborContract;

    /** 特殊作业证 */
    @Excel(name = "特殊作业证")
    private String specialOperations;

    /** 客户小分类 */
    @Excel(name = "客户小分类")
    private String visitorType;

    /** 其他 */
    @Excel(name = "其他")
    private String other;

    /** 车辆状态（0默认 1预约 2审核通过 3审核未通过 4车辆入场 5车辆出场） */
    @Excel(name = "车辆状态", readConverterExp = "0=默认,1=预约,2=审核通过,3=审核未通过,4=车辆入场,5=车辆出场")
    private String status;

    /** 审核信息 */
    @Excel(name = "审核信息")
    private String reviewInfo;

    /** 流程ID */
    @Excel(name = "流程ID")
    private String followId;

    /** 是否生成二维码（0未生成 1已生成） */
    @Excel(name = "是否生成二维码", readConverterExp = "0=未生成,1=已生成")
    private String isqr;

    /** 二维码 */
    @Excel(name = "二维码")
    private String qr;

    /** 进入时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH")
    @Excel(name = "进入时间", width = 30, dateFormat = "yyyy-MM-dd HH")
    private Date inTime;

    /** 离开时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH")
    @Excel(name = "离开时间", width = 30, dateFormat = "yyyy-MM-dd HH")
    private Date outTime;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setOpenId(String openId) 
    {
        this.openId = openId;
    }

    public String getOpenId() 
    {
        return openId;
    }
    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }
    public void setCompanyFrom(String companyFrom) 
    {
        this.companyFrom = companyFrom;
    }

    public String getCompanyFrom() 
    {
        return companyFrom;
    }
    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }
    public void setCard(String card) 
    {
        this.card = card;
    }

    public String getCard() 
    {
        return card;
    }
    public void setCardImg(String cardImg) 
    {
        this.cardImg = cardImg;
    }

    public String getCardImg() 
    {
        return cardImg;
    }
    public void setVisitReason(String visitReason) 
    {
        this.visitReason = visitReason;
    }

    public String getVisitReason() 
    {
        return visitReason;
    }
    public void setCompanyTo(String companyTo) 
    {
        this.companyTo = companyTo;
    }

    public String getCompanyTo() 
    {
        return companyTo;
    }
    public void setInterviewedNo(String interviewedNo) 
    {
        this.interviewedNo = interviewedNo;
    }

    public String getInterviewedNo() 
    {
        return interviewedNo;
    }
    public void setInterviewedName(String interviewedName) 
    {
        this.interviewedName = interviewedName;
    }

    public String getInterviewedName() 
    {
        return interviewedName;
    }
    public void setInTime(Date inTime) 
    {
        this.inTime = inTime;
    }

    public Date getInTime() 
    {
        return inTime;
    }
    public void setOutTime(Date outTime) 
    {
        this.outTime = outTime;
    }

    public Date getOutTime() 
    {
        return outTime;
    }

    public String getCustomersType() {
        return customersType;
    }

    public void setCustomersType(String customersType) {
        this.customersType = customersType;
    }

    public String getInsurance() {
        return insurance;
    }

    public void setInsurance(String insurance) {
        this.insurance = insurance;
    }

    public String getLaborContract() {
        return laborContract;
    }

    public void setLaborContract(String laborContract) {
        this.laborContract = laborContract;
    }

    public String getSpecialOperations() {
        return specialOperations;
    }

    public void setSpecialOperations(String specialOperations) {
        this.specialOperations = specialOperations;
    }

    public String getVisitorType() {
        return visitorType;
    }

    public void setVisitorType(String visitorType) {
        this.visitorType = visitorType;
    }

    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public String getVisitingBase() {
        return visitingBase;
    }

    public void setVisitingBase(String visitingBase) {
        this.visitingBase = visitingBase;
    }

    public String getOther() {
        return other;
    }

    public void setOther(String other) {
        this.other = other;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getReviewInfo() {
        return reviewInfo;
    }

    public void setReviewInfo(String reviewInfo) {
        this.reviewInfo = reviewInfo;
    }

    public String getFollowId() {
        return followId;
    }

    public void setFollowId(String followId) {
        this.followId = followId;
    }

    public String getIsqr() {
        return isqr;
    }

    public void setIsqr(String isqr) {
        this.isqr = isqr;
    }

    public String getQr() {
        return qr;
    }

    public void setQr(String qr) {
        this.qr = qr;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("openId", getOpenId())
            .append("userName", getUserName())
            .append("companyFrom", getCompanyFrom())
            .append("phone", getPhone())
            .append("card", getCard())
            .append("cardImg", getCardImg())
            .append("visitReason", getVisitReason())
            .append("companyTo", getCompanyTo())
                .append("visitingBase", getVisitingBase())
            .append("interviewedNo", getInterviewedNo())
            .append("interviewedName", getInterviewedName())
            .append("inTime", getInTime())
            .append("outTime", getOutTime())
            .append("insurance", getInsurance())
            .append("laborContract", getLaborContract())
            .append("specialOperations", getSpecialOperations())
                .append("status", getStatus())
                .append("followId", getFollowId())
                .append("qr", getQr())
                .append("isqr", getIsqr())
                .append("reviewInfo", getReviewInfo())
            .append("customersType", getOutTime())
            .append("visitorType", getVisitorType())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
